package binary

/**
 *@author haypo
 *@since 2021/7/20
 */

enum class ValType(val v: Int) {
    ValTypeI32(0x7F), // i32
    ValTypeI64(0x7E), // i64
    ValTypeF32(0x7D), // f32
    ValTypeF64(0x7C); // f64
    companion object {
        fun get(v: Byte): ValType? {
            for (value1 in values()) {
                if (value1.v == v.toInt()) {
                    return value1
                }
            }
            return null
        }
    }

}

fun ValTypeToStr(vt: ValType?): String {
    return when (vt) {
        ValType.ValTypeI32 -> "i32"
        ValType.ValTypeI64 -> "i64"
        ValType.ValTypeF32 -> "f32"
        ValType.ValTypeF64 -> "f64"
        else -> { // 注意这个块
            throw  Exception("invalid valtype: $vt")
        }
    }

}

class Types {
}